package com.yunxin.core.customer.dto;

import com.yunxin.common.base.BasePageRequest;
import com.yunxin.common.base.RangeSearch;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author zero°
 * @since 2023-06-08
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Schema(description = "分页查询客户管理列表对象")
public class CustomerPageDto extends BasePageRequest implements Serializable {

    @Schema(description = "客户手机号")
    private String phone;

    @Schema(description = "客户姓名")
    private String name;

    @Schema(description = "申请时间开始时间")
    private String startApplyTime;

    @Schema(description = "申请时间结束时间")
    private String endApplyTime;

    @Schema(description = "分配时间开始时间")
    private String startDistributionTime;

    @Schema(description = "分配时间结束时间")
    private String endDistributionTime;

    @Schema(description = "开始时间公海池")
    private String startSeasDate;

    @Schema(description = "结束时间公海池")
    private String endSeasDate;

    @Schema(description = "申请编号")
    private String applyOrderNo;

    @Schema(description = "boke订单号")
    private String bokeOrderNo;

    @Schema(description = "boke订单状态")
    private Integer bokeOrderStatus;

    @Schema(description = "渠道名称")
    private Long channelName;

    @Schema(description = "产品id")
    private Integer productId;

    @Schema(description = "团队id")
    private Integer teamId;

    @Schema(description = "业务员id")
    private Long salesmanId;

    @Schema(description = "话务员id")
    private Long telephonerId;

    @Schema(description = "业务员添加状态")
    private Integer isWechat;

    /**
     * 商户id
     */
    @Schema(description = "商户id,只能茶超级管理员才有权选择")
    private Long merchantId;

    //团队id集合
    @Schema(hidden = true)
    private List<Integer> teamIds;

    public void setTeamId(Integer teamId) {
        this.teamId = teamId;
        this.teamIds = List.of(teamId);
    }

    @Schema(description = "1公海池",hidden = true)
    private Integer seasType;
}
